<?php
    class EstacaoModel extends CI_Model{
        
        public function getEstacoes(){
            $this->db->select('estacao, telefone, estacao.id, cidade, endereco');
            $this->db->join('cidade','cidade.id = estacao.cidade_id');
            return $this->db->get('estacao')->result();
        }
        
        public function getEstacao($id){
            $this->db->where('id', $id);
            return $this->db->get('estacao')->row();
        }
        
        function cadastrarEstacao($dados){
            $this->db->insert('estacao',$dados);
            return $this->db->insert_id();
        }
        
        function editarEstacao($dados){
            $this->db->where('id', $dados['id']);
            $this->db->update('estacao', $dados);
        }
        
        function excluirEstacao($id){
            $this->db->where('id', $id);
            return $this->db->delete('estacao');
        }           
        
        public function getMetros(){
            return $this->db->get('metro')->result();
        }
        
        public function getMetro($id){
            $this->db->where('id', $id);
            return $this->db->get('metro')->row();
        }
        
        function cadastrarMetro($dados){
            $this->db->insert('metro',$dados);
            return $this->db->insert_id();
        }
        
        function editarMetro($dados){
            $this->db->where('id', $dados['id']);
            $this->db->update('metro', $dados);
        }
        
        function excluirMetro($id){
            $this->db->where('id', $id);
            return $this->db->delete('metro');
        }           
        
        function getMetrosEstacao($id){
            $this->db->where('estacao_id', $id);
            $this->db->join('estacao', 'estacao.id = estacao_x_metro.estacao_id');
            $this->db->join('metro', 'metro.id = estacao_x_metro.metro_id');
            return $this->db->get('estacao_x_metro')->result();
        }
        
        function adicionarMetroEstacao($dados){
            return $this->db->insert('estacao_x_metro',$dados);
        }
        
        function excluirMetroEstacao($metro, $estacao){
            $this->db->where('estacao_id',$estacao);
            $this->db->where('metro_id',$metro);
            return $this->db->delete('estacao_x_metro');
        }
        
        public function dropMetros(){
            $this->db->select('id, metro');
            $this->db->order_by('metro');
            $values = $this->db->get('metro')->result_array();
            
            $options = array();
            $options[''] = '- Selecione -';
            foreach ($values as $value){
                $options[$value['id']] = $value['metro']; 
            }
            return $options;
        }
    }
?>